package com.sesame.common.utils;

import org.springframework.beans.BeanUtils;

import java.util.ArrayList;
import java.util.List;

public class ListUtil {


    /**
     * 按照某大小对list分页
     * @param targe
     * @param size
     * @return
     */
    public static List<List<Object>>  splitList(List<?> targe,int size) {

        List<List<Object>> listArr = new ArrayList<List<Object>>();
        //获取被拆分的数组个数
        int arrSize = targe.size()%size==0?targe.size()/size:targe.size()/size+1;
        for(int i=0;i<arrSize;i++) {
            List sub = new ArrayList();
            //把指定索引数据放入到list中
            for(int j=i*size;j<=size*(i+1)-1;j++) {
                if(j<=targe.size()-1) {
                    sub.add(targe.get(j));
                }
            }
            listArr.add(sub);
        }
        return listArr;
    }

    /**
     * 拷贝相同属性
     * @param list
     * @return
     */
    public static void copyProperties(List<Object> list,List<Object> result){

        try {
            for (Object o1 : list){
                Object o2 = new Object();
                BeanUtils.copyProperties(o1,o2);
                result.add(o2);
            }

        }catch (Exception e){
            e.printStackTrace();
        }

    }

}
